这个月,腾讯一款全新自走棋手游《战歌竞技场》高调上线,首发当天就登顶iOS免费榜。自走棋这个品类近两年十分热门,多款游戏都出现在玩家们的视野中,不过质量也是参差不齐。而《战歌竞技场》这款号称开启“自走棋2.0时代”的游戏别出心裁地在经典玩法的基础上做出了一系列迭代和创新,包括自定义英雄、双排和4V4组队玩法,以及师徒、公会等社交元素,让游戏更有策略性,同时也更耐玩。
不仅如此,这款游戏中全新的角色体验、精美细腻的画面更是受到众多玩家的追捧,从各类自走棋作品中脱颖而出。尤其是50多个各具特色的棋子角色,集可爱与能力于一身,让玩家纷纷直呼“这设计也太好看了吧!”
今天,我们有幸邀请到了腾讯魔方工作室《战歌竞技场》的开发团队,跟广大的开发者分享下战歌竞技场开发的一些经验。
1、市面上现在自走棋类游戏种类繁多,可以给我们简单介绍下开发《战歌竞技场》这款自走棋游戏的初衷与背景吗?
早在2019年7月,我们就在海外各个国家地区上线了,而且在东南亚地区取得了非常好的成绩和口碑。目前也在持续不断的运营更新。
之所以国内的玩家到现在才看到我们,其实也是一个很复杂的过程。但其中最重要的,是我们想在自走棋这个品类上做出一些突破。
在去年一年的时间里,随着自走棋的逐渐升温,大量参差不齐的产品不断出现。在这样的环境下,我们一致致力于解决自走棋玩家所关注的焦点问题。比如详细的新手引导、优秀的局内辅助、出色的UI交互、多样的模式玩法以及精致的建模特效。除此之外,在玩法上也进行了大量的优化和革新。英雄设计、羁绊设计,经过多次改版,平衡性和多样性非常的优秀。我们不仅有基本的经典模式,更新增了极速竞技、双人排位、4V4军团模式等各种独特玩法、社交玩法,让你和朋友一起体验自走棋的乐趣。除此之外,不断推出新的娱乐模式,脑洞大开、爽快度爆表。2、在前期游戏设计过程中,是如何归纳和总结,并确立美术设计方向以及风格的?战歌自走棋里包含了两大类角色,一类是帮助玩家在棋盘上战斗的棋子(英雄),一类是代表玩家指挥战斗的棋手。棋子需要表现激烈的战斗,释放华丽的技能,所以采取的是比较高的头身比,比较好突显酷帅。棋手本身不参与战斗,所以它承担指代玩家和表达调性的功能。自走棋本身就是一个略偏休闲的品类,项目立项初期,我们给这个游戏定的基调就是——一帮小棋手在一起愉快的下棋打闹。所以棋手Q萌惹人爱就对了。同时这两类角色也是在两个不同维度都满足了玩家的审美喜好。从玩法层面来说,棋子在游戏中有13个种族10个职业,怎么让玩家可以在对局中快速的pick到自己想要的棋子非常重要。我们设计时遵循这样一套视觉规范——用颜色来区别种族,用装备特征来区别职业。比如恶魔种族都是红黑色调,哥布林都是绿皮;而骑士都会有坐骑,法师都会持杖……既要保证一定规则的统一性,又要让每个角色极具个性和差异,这很难,但可以说战歌竞技场是目前同品类中棋子识别性做的比较出色的。3、不同于国内市场常见的Q版人物形象,战歌竞技场中棋子身材比例更加自然,人物更是将有趣的东方特色种族加入其中,关于龙女的原创人物模型设计分外引人注意,可以给广大开发者们分享下吗? 前面也说到,我们在海外上线已有一段时间了,整体风格其实是比较欧美的,龙女是我们决定转向国内市场时设计的第一个“东方”角色,当时我们觉得角色矩阵中非常需要一个符合东方审美的“门面担当”。同时又得区别于国内的古风仙侠游戏角色,设计出新意和符合我们游戏的特点来赢得国内玩家的喜爱。龙女的整体色调以白色调为主,能体现出特别仙的感觉,铠甲裙摆既体现了她的战斗属性又不失优雅,一些绳结和流苏球饰传达出了东方意味。如果你仔细观察,其实身体部分是个连体泳衣造型,非常好的体现出了角色性感的身材,同时表达出来的“水”的属性也比较贴合“龙”的概念。武器的枪头,也是一个有东方线条特殊造型,还挺有记忆点的。然后,她还有一只萌宠坐骑,emmmm……我突然发现这个角色身上的设计点的确不俗呢。
龙女高模展示
而龙女也是第一个我们试点高模展示的角色,这个特殊界面的出场表演反复调试了很久。PBR材质,皮肤材质,多光源照明等表现力强的技术点也都在这个界面尝试,可以说制作团队从龙女的设计到实现,确实花费了比其他角色要更多的时间和心思,推出之后她确实也广受玩家的好评和喜爱,所以我们觉得这些努力还是没用白费的。4、在保证角色优质表现的同时,如何做到让场景在有限的视觉空间中更有张力,并能突出角色?首先在设计上我们做了很多有意思的内容和突破,比如:游戏棋盒、糖果世界、海底世界、温泉场景等等,这些有意思的内容使得我们有更大的发挥空间。而且每个场景的主题性都比较强,玩家第一次进入场景就能立马感受到所处的环境和氛围,仔细探究又能发现不少细节:其次在制作上我们在保证不影响战斗的情况下在四周做了不少的动态效果,当然这些效果都是符合场景实际内容的东西,比如:海底的鱼群和游动的大鲸鱼、渔船上刚抓上来的大章鱼。这些内容全部都安排在四周,不会影响实际的角色战斗,让玩家在空闲之余也会隐约观察到这些内容。虽然我们是一个俯视角的游戏,但在场景的安排上我们尽量表现出场景的纵深感,近景、中景和远景在我们场景中都有表现出来,场景也需要“透气”而不是一个很堵的面画,把四周都围的死死的,这样很难表现出场景的张力。在光影上我们也一直在探究,怎样一个光影是符合这个场景氛围的,每个场景的光影强度、每一道阴影的方向、长度又是怎么样的,它会不会影响画面和玩家战斗,这都是我们需要考虑的。最后场景的视觉层次肯定是在角色之下的,在制作之前就需要把场景的明度、饱和度、对比度这些考虑在内,不停的把这些层级关系贯穿在场景制作当中。中间战斗区域也适当加入了一些细节和材质体现,使得在战斗的时候能突出角色,仔细看又有内容在里面。5、相比于其他引擎,Unity在开发这款游戏的优势在哪里?因为上一个项目是基于Unity开发的MOBA手游,所以自走棋自然也就基于前项目框架,立项开始给的研发周期就很短,原计划5个月左右就要上线,任务还是比较紧急的。不过得益于Unity引擎研发效率,最后实际的研发周期也就5个月左右并在海外上线。对于我们来说Unity在研发效率上的优势主要有三个方面吧:Unity引擎本身非常适合手游开发,而且团队基于Unity引擎上完成了一款MOBA手游的研发,已经有了一定的技术积累。
Unity相对于其他引擎对于开发人员更易上手;尤其在编辑器扩展上非常友好,便于快速开发支持策划美术管线的编辑器;另外就是Unity Asset Store现在已经具备丰富的插件供开发者使用,大大减少了开发团队重复造轮子的时间。
项目组一直和Unity大中华区的技术支团队持保持紧密联系,整个项目周期都得到了其有力支持,特别对于一些棘手的问题,大大提高了解决速度。
6、场景中华丽的战斗特效,让游戏更加吸睛,关于游戏中冰霜女巫和路西法的绝冻风暴和烈焰武装的特效是如何实现的,可以和广大开发者简单分享下心得吗?好的特效首先需要好的想法设计,游戏中英雄的技能特效都是经过精心设计让其在满足功能需求的同时又极具观赏表演性,让每一个英雄的技能在造型动态配色上都有其独特性。其次是实现,Unity强大的默认粒子系统能让我们实现绝大部分精美的效果,为了效果出众,我们自定义的一套特效材质;为了特效动画的方便制作,我们自定义了一套动画脚本,配合粒子系统与mesh就能高效的制作我们想要的动态效果了,如冰霜女巫的绝冻风暴。而针对一些特殊的需求如路西法的烈焰武装技能(点对点连线形式的造型),我们单独基于Unity的line模块开发了一套方便调用的“闪电链”脚本,技能地面的裂痕则是开发了一个多功能的trail脚本。
结合以上粒子系统/动画脚本/trail脚本/mesh,以及特殊类的脚本材质,经过整合综合运用加上Unity后期bloom处理,就能实现我们想要的精美而复杂动效了。
7、众所周知游戏中的特效逐渐的增多,势必会对游戏性能造成影响。关于这块你们是如何平衡的,可以给大家分享下特效优化的经验吗?美术效果和游戏性能一直是游戏研发过程中最为头疼的事之一,尤其对于自走棋这一类休闲游戏,休闲游戏对玩家而言太耗性能不合适,但自走棋又是同屏角色非常多的游戏类型,性能问题更加严重。在游戏立项开始会针对高中低三档机型进行性能分析,得到机器的性能瓶颈,首先根据各档机型制定规范,游戏对不同品质的英雄、棋手、棋盘制定了规范,针对每档机型的LOD规范,贴图大小,特效的DrawCall,OverDraw,以及使用的高消耗Shader特性数量,模型面数等。这一步在游戏前期是非常重要的。制定规范只是第一步,因为人是不可控的的,总会有为了表现效果而在制作的时候会违背制作规范的情况发生。自动化检测工具就非常重要,我们会根据制定的规范定期对所有资源美术资源进行扫描,包括棋盘,信使,英雄的贴图大小,模型面数,骨骼数量,动画数据;每个特效的DrawCall,OverDraw,Shader特效等等。LOD每档的数据是否合格,生成邮件报告且根据提交记录自动分配给美术,告知资源不合理的原因,工具的整个流程尽量做到自动化和及时。对于高档机型还是要保证游戏效果,对于游戏中有些标志性的英雄,是美术想特别突出其表现效果的,针对这类棋盘、棋手和英雄,会允许指标超标,并和美术一起讨论特效制作方式,达到美术要求的效果同时保证效率。游戏运行时会根据机器性能给一个默认的LOD档位这种常规操作也是必须的,另外就是自走棋的玩法是单局内前期英雄少,后期英雄会急剧膨胀,渲染压力会不断增大,所以游戏也会在检测到帧率下降后会默默降低一定的分辨率,关掉一些特效和特性来做平衡。我们游戏刚开始上线对于机型支持的阈很宽,海外比如东南亚低端机还是占比很高,我们最低支持是iPhone5S和红米2A,所以针对优化做了很多,比如针对1G内存以下的超低端机器“自动”出一份独立的低端资源,主要降低贴图分辨率,棋盘渲染成一张贴图,根据LOD设置剔除低端用不到的节点等等手段减少资源包大小,降低内存,减少渲染压力。优化是每个项目的必经之路,针对我们项目的特效优化聊一下感受比较深的几个点:DrawCall规划,项目性能优化跟项目的市场定位直接挂钩,在拿到单局战斗DrawCall同屏数后就要规划好单局同屏各个模块的DrawCall上限,如UI/场景/英雄/信使等等,特效这边会针对信使随身特效/英雄战斗特效/场景特效等DrawCall上限做出非常具体的控制,DrawCall比例分布会更多的倾向技能,削弱一些非重点如英雄随身特效/场景摆件等模块的DrawCall占比。
Overdraw控制,大面积半透材质渲染开销会非常大,所以在做一些大范围技能的时候我们会着重关注overdraw的超标情况,尽量用固定形状的mesh代替简单的大片四角面片(如虚空洪流的技能)。
合批,如路西法的烈焰武装10根火焰柱在没有合批的时候是十倍DrawCall消耗,材质上设置独立不会被别的同屏效果打断渲染的renderqueue就可以让其只算一份消耗,同理我们在很多重复出现同样的prefab时都会做这个合批操作;
LOD,我们所有的特效都会设置四个挡位的LOD,不同的机型对应不同挡位调用对应DrawCall的特效的挡位。
8、关于游戏场景的制作流程与游戏中角色材质制作流程,可以跟大家分享下吗?首先我们拿到需求后我们会找到一些实际的参考,石块的细节处理方式、细节大小、雪的堆积方式、雪在阳光下表现出的一些细节等等。与此同时我们开始制作白盒确定场景内物件的比例大小,同时也确定好场景物件的分组从而确定好场景中需要的贴图数量紧接着我们在白盒的基础上确定光影,为了达到特定阴影的轮廓,甚至需要去“做假”处理然后我们开始整合场景,调整材质与贴图,把场景中的明度、灰度、颜色关系等处理好同时在Substance Designer中制作地表材质,整合进场景内。然后再引擎内适当加入距离雾、场景特效、顶点动画等一些后期效果,最后平衡下画面。Unity灵活的图形框架与方便的Shader开发方式让我们能非常方便的根据自已的需求定制角色的材质效果,在战局内,因为同屏角色数量较多并且要兼顾大量的特效,所以我们定制了更注重性能的一套角色Shader,光照部分是lambert、自定义的边缘光和matcap反射构成的简单组合。而大厅中的棋手我们制作了另一套基础效果与SubstancePainter对齐的移动端PBR shader,在此基础上还扩展了比如皮肤、水晶、短毛、长毛、幽灵、薄膜干涩、有折射效果的眼球等特殊效果。好的,本次的案例分享就到这里了,非常感谢《战歌竞技场》团队积极配合这次的技术采访。也希望我们的广大的开发者可以继续关注我们的MWU案例分享栏目。
↑安卓下载↑
↑IOS下载↑